home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / prg_gen / poly.zip / POLYSW.MST < prev    next >
Text File  |  1996-06-26  |  6KB  |  214 lines

  1. '**************************************************************************
  2. '*                       PolyScript Setup
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST OPTIONS       = 800
  18. CONST APPHELP       = 900
  19. CONST BADPATH       = 6400
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL DEST$        ''Default destination directory.
  25. GLOBAL OPTCUR$      ''Option selection from option dialog.
  26.  
  27. DECLARE SUB Install
  28. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  29.  
  30.  
  31. INIT:
  32.      CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  33.      HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  34.  
  35.      SetBitmap CUIDLL$, LOGO
  36.      SetTitle "PolyScript Installation"
  37.  
  38.      szInf$ = GetSymbolValue("STF_SRCINFPATH")
  39.      IF szInf$ = "" THEN
  40.           szInf$ = GetSymbolValue("STF_CWDDIR") + "POLYSW.INF"
  41.      END IF
  42.      ReadInfFile szInf$
  43.  
  44.      OPTCUR$ = "1"
  45.      DEST$ = "C:\POLYSCR"
  46.  
  47. '$IFDEF DEBUG
  48.      i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  49.      WinDrive$ = MID$(GetWindowsDir, 1, 1)
  50.      IF IsDriveValid(WinDrive$) = 0 THEN
  51.           i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  52.           GOTO QUIT
  53.      END IF
  54. '$ENDIF ''DEBUG
  55.  
  56.  
  57. WELCOME:
  58.      sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  59.      IF sz$ = "CONTINUE" THEN
  60.           UIPop 1
  61.      ELSE
  62.           GOSUB ASKQUIT
  63.           GOTO WELCOME
  64.      END IF
  65.  
  66.  
  67.  
  68.  
  69. GETPATH:
  70.      SetSymbolValue "EditTextIn", DEST$
  71.      SetSymbolValue "EditFocus", "END"
  72. GETPATHL1:
  73.      sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  74.      DEST$ = GetSymbolValue("EditTextOut")
  75.  
  76.      IF sz$ = "CONTINUE" THEN
  77.           IF IsDirWritable(DEST$) = 0 THEN
  78.                 GOSUB BADPATH
  79.                 GOTO GETPATHL1
  80.           END IF
  81.           UIPop 1
  82.      ELSEIF sz$ = "REACTIVATE" THEN
  83.           GOTO GETPATHL1
  84.      ELSEIF sz$ = "BACK" THEN
  85.           UIPop 1
  86.           GOTO WELCOME
  87.      ELSE
  88.           GOSUB ASKQUIT
  89.           GOTO GETPATH
  90.      END IF
  91.  
  92.  
  93.      Install
  94.  
  95.  
  96. QUIT:
  97.      ON ERROR GOTO ERRQUIT
  98.  
  99.      IF ERR = 0 THEN
  100.           dlg% = EXITSUCCESS
  101.      ELSEIF ERR = STFQUIT THEN
  102.           dlg% = EXITQUIT
  103.      ELSE
  104.           dlg% = EXITFAILURE
  105.      END IF
  106. QUITL1:
  107.      sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  108.      IF sz$ = "REACTIVATE" THEN
  109.           GOTO QUITL1
  110.      END IF
  111.      UIPop 1
  112.  
  113.      END
  114.  
  115. ERRQUIT:
  116.      i% = DoMsgBox("Setup sources were corrupted!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  117.      END
  118.  
  119.  
  120.  
  121. BADPATH:
  122.      sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  123.      IF sz$ = "REACTIVATE" THEN
  124.           GOTO BADPATH
  125.      END IF
  126.      UIPop 1
  127.      RETURN
  128.  
  129.  
  130.  
  131. ASKQUIT:
  132.      sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  133.  
  134.      IF sz$ = "EXIT" THEN
  135.           UIPopAll
  136.           ERROR STFQUIT
  137.      ELSEIF sz$ = "REACTIVATE" THEN
  138.           GOTO ASKQUIT
  139.      ELSE
  140.           UIPop 1
  141.      END IF
  142.      RETURN
  143.  
  144.  
  145.  
  146. '**
  147. '** Purpose:
  148. '**     Builds the copy list and performs all installation operations.
  149. '** Arguments:
  150. '**     none.
  151. '** Returns:
  152. '**     none.
  153. '*************************************************************************
  154. SUB Install STATIC
  155.  
  156.      SrcDir$ = GetSymbolValue("STF_SRCDIR")
  157.      CreateDir DEST$, cmoNone
  158.  
  159.      OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  160.      WriteToLogFile ""
  161.      WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  162.      WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  163.      WriteToLogFile ""
  164.      WriteToLogFile "May have had to create the directory: " + DEST$
  165.      WriteToLogFile ""
  166.  
  167.      AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  168.      AddSectionFilesToCopyList "Examples", SrcDir$, DEST$ + "\scripts\"
  169.      CopyFilesInCopyList
  170.  
  171.  
  172.      CreateProgmanGroup "PolyScript", "", cmoNone
  173.      ShowProgmanGroup  "PolyScript", 1, cmoNone
  174.      CreateProgmanItem "PolyScript", "PolyScript Debugger", MakePath(DEST$,"polydbg.exe")+" .\scripts\rtexampl.scr com2:9600,e,7,1 -dc Done!",MakePath(DEST$,"polybug.ico"), cmoOverwrite
  175.      CreateProgmanItem "PolyScript", "PolyScript Scheduler", MakePath(DEST$,"polyschd.exe"),MakePath(DEST$,"polyclok.ico"), cmoOverwrite
  176.      CreateProgmanItem "PolyScript", "PolyScript Runtime Example", MakePath(DEST$,"polyrt.exe")+" .\scripts\rtexampl.ply com2:9600,e,7,1 -dc Done!",MakePath(DEST$,"deep.ico"), cmoOverwrite
  177.      CreateProgmanItem "PolyScript", "PolyScript Reference", "winhelp "+MakePath(DEST$,"poly.hlp") ,"", cmoOverwrite
  178. '*     CreateProgmanItem "PolyScript", "Why Register?", "winhelp "+MakePath(DEST$,"register.hlp") ,"", cmoOverwrite
  179.      CreateProgmanItem "PolyScript", "License", "write.exe "+MakePath(DEST$,"license.wri") ,"", cmoOverwrite
  180.      CreateProgmanItem "PolyScript", "Registration Form", "write.exe "+MakePath(DEST$,"register.wri") ,"", cmoOverwrite
  181.      CreateProgmanItem "PolyScript", "Runtime Example 'C' Source", "notepad.exe "+MakePath(DEST$,"polyrt.c") ,"", cmoOverwrite
  182.      CreateProgmanItem "PolyScript", "'C' Header File for Runtime DLL", "notepad.exe "+MakePath(DEST$,"polydll.h") ,"", cmoOverwrite
  183.      CreateProgmanItem "PolyScript", "Read This!", "notepad.exe "+MakePath(DEST$,"readme.txt") ,"", cmoOverwrite
  184.  
  185.  
  186.      CloseLogFile
  187.  
  188. END SUB
  189.  
  190.  
  191.  
  192. '**
  193. '** Purpose:
  194. '**     Appends a file name to the end of a directory path,
  195. '**     inserting a backslash character as needed.
  196. '** Arguments:
  197. '**     szDir$  - full directory path (with optional ending "\")
  198. '**     szFile$ - filename to append to directory
  199. '** Returns:
  200. '**     Resulting fully qualified path name.
  201. '*************************************************************************
  202. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  203.      IF szDir$ = "" THEN
  204.           MakePath = szFile$
  205.      ELSEIF szFile$ = "" THEN
  206.           MakePath = szDir$
  207.      ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  208.           MakePath = szDir$ + szFile$
  209.      ELSE
  210.           MakePath = szDir$ + "\" + szFile$
  211.      END IF
  212. END FUNCTION
  213.  
  214.